//角色管理模块的接口
import request from "@/utils/request";
import type {RoleResponseData,Role,MenuResponseData} from './type';
//枚举地址
enum API{
    //获取全部已有的角色信息
    ALLROLE_URL='/admin/acl/role/',
    //添加新的角色
    ADDROLE_URL='/admin/acl/role/save',
    //更新已有的角色信息
    UPDATEROLE_URL='/admin/acl/role/update',
    //获取全部的菜单与按钮的数据
    ALLPERMISSTION='/admin/acl/permission/toAssign/',
    //给相应的职位分配权限
    SETPERMISTION_URL='/admin/acl/permission/doAssign/?',
    //删除角色
    DELETE_URL='/admin/acl/role/remove/',
    
}
//获取角色信息的接口
export const reqRoleInfo=(page:number,limit:number,rolename:string)=>request.get<any,RoleResponseData>(API.ALLROLE_URL+`${page}/${limit}/?rolename=${rolename}`);
//添加或更新角色的接口
export const reqAddOrUpdateRole=(data:Role)=>{
    //携带参数有id更新
    if(data.id){
        return request.put<any,any>(API.UPDATEROLE_URL,data)
    }else{
        return request.post<any,any>(API.ADDROLE_URL,data)
    }
}
//获取全部的菜单与按钮的数据的接口
export const reqAllMenuList=(roleId:number)=>request.get<any,MenuResponseData>(API.ALLPERMISSTION+roleId);
//给相应的职位分配权限的接口
export const reqSetPermisstion=(roleId:number,permissionId:number[])=>request.post(API.SETPERMISTION_URL+`roleId=${roleId}&permissionId=${permissionId}`);
//删除角色接口
export const reqRemoveRole=(roleId:number)=>request.delete<any,any>(API.DELETE_URL+roleId);
